1. Field of the Invention
The present invention relates to an apparatus and method for a pseudo-random cryptography key generator (“PKG”) in a cryptographic communication system. The present invention is especially useful in applications or systems in which cryptographic algorithms are used to secure data communications and transmissions.
2. Description of the Background Art
Currently, information being transmitted through electronic media are generally not secure and are vulnerable to interception by a third party. For example, a telephone conversation between two people over public telephone wires may be “tapped” by a third party. In another instance, an e-mail transmitted over the internet can be “intercepted” by an unknown entity, who may later use the information contained in the e-mail to the detriment of the author and/or recipient of the e-mail. Accordingly, information intended to be confidential should either be transmitted through a secure communication channel, or be transmitted in a format such that, even if the information is intercepted by an unauthorized party, the information is unintelligible to the unauthorized party.
A conventional method of maintaining the confidentiality of communication involves the use of cryptographic algorithms that encrypt and decrypt the information being communicated. The encryption process, typically involving the use of a cryptographic algorithm, makes the information transmitted through a channel undecodable or undecipherable to unintended recipients. In order to decipher the encrypted information, a recipient must possess a unique piece of information (i.e., a “key”) that can be used with the cryptographic algorithms to successfully decrypt the encrypted message. More specifically, an encryption key is typically a data string which, when combined with another set of data according to an algorithm, produces a data output that is unintelligible to third parties. To decipher the data output, one must use a decryption key that can be used to decrypt the encrypted data. In many instances, the encryption key is identical to the decryption key for a given algorithm.
In a conventional cryptographic communication system based on the use of keys, the appropriate keys must be distributed to the sender as well as the receiver before secure transmission can occur. Operations and services related to the use and distribution of keys within a cryptographic communication system are commonly referred to as key management. More specifically, a key management infrastructure creates, distributes, authenticates/certifies, and often changes and/or revokes the encryption/decryption keys used within a particular cryptographic communication system. Key management can be accomplished either manually or by using automated computer programs. It is intended in a conventional cryptographic communication system that only the authorized recipient, being in possession of the appropriate decryption key, will be able to decipher the encrypted data that is sent. Accordingly, to maintain the security of a cryptographic communication system, an effective key management infrastructure must prevent unintended recipients from acquiring knowledge of the encryption and/or decryption keys in order to ensure that unauthorized parties cannot decipher the information being transmitted.
As previously discussed, in a conventional cryptographic communication system, the appropriate keys must first be distributed for use by the sender and the receiver before any cryptographic communication can take place. In many instances, keys must be distributed to multiple receivers. The process of key distribution may result in either unintentional disclosure of the keys to third parties or interception of the keys by other entities. Furthermore, a conventional cryptographic system that does not change keys on a frequent basis may eventually become vulnerable to computer “hackers,” who, given sufficient time, can use powerful computers to decipher the encryption algorithm and derive the encryption keys. Thus, periodic key changes are intended to enhance security, but they also burden conventional key management systems and can jeopardize security through risk of exposure during the key distribution process.
To decrease the likelihood of someone deciphering the encrypted information, designers of conventional encryption systems typically enhance security protection by using stronger encryption algorithms that are based on longer encryption codes, changing keys on a more frequent basis, and/or implementing a more sophisticated key management infrastructure. Nevertheless, even an enhanced cryptographic communication system is susceptible to a breach by a hacker, especially in today's world of powerful computers. Furthermore, changing keys on a more frequent basis creates additional opportunities for the keys to be disclosed or intercepted by unauthorized parties. Finally, complex key management infrastructures that change and distribute keys on a frequent basis increase logistics and the cost of maintaining a cryptographic communication system.